package com.hsmpay.mobile.service.finance;

import com.hsmpay.common.service.BaseService;
import com.hsmpay.mobile.pojo.finance.BatchClearLog;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 结算日志服务接口 
 * @author 颜铃璋
 * 创建时间： 2013-6-4
 * 对应 batchClearDao
 * @param <Entity>
 * @param <Query>
 */
public interface BatchClearLogService<Entity extends Serializable,Query extends Object> extends BaseService<Entity,Query> {
	/**
	 * 查询佣金结算日志列表
	 * @param bcl
	 * @return
	 * @throws Exception
	 */
	public List<BatchClearLog> getBrokerageLogs(BatchClearLog bcl) throws Exception;
	
	/**
	 * 查询 是否有未完成的 日志结算
	 * @param bcId
	 * @return
	 * @throws Exception
	 */
	public int getUnfinishLogCountByBcId(Long bcId) throws Exception;
	
	/**
	 * 查询金额和笔数
	 * @param batchClearLog
	 * @return
	 * @throws Exception
	 */
	public BatchClearLog getTransMoney(BatchClearLog batchClearLog) throws Exception;
	
	/**
	 * 查看结算日志详情
	 * @param batchClearLog
	 * @return
	 * @throws Exception
	 */
	public List<BatchClearLog> searchLogDetialsList(BatchClearLog batchClearLog) throws Exception;
	
	/**
	 * 结算日志详情统计数
	 * @param batchClearLog
	 * @return
	 * @throws Exception
	 */
	public int getLogDetailsCount(BatchClearLog batchClearLog) throws Exception;
	
	/**
	 * 查询金额和笔数
	 * @param batchClearLog
	 * @return
	 * @throws Exception
	 */
	public BatchClearLog getTransMoneyByIds(BatchClearLog batchClearLog) throws Exception;

	public List<Map<String, Object>> selectNotInZxbackCodeByBcfIds(Map parameterMap);
}
